﻿
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;

namespace RuntimeHelloWorlds
{
	class Program
	{
		static void Main(string[] args)
		{
			var methodInfo = new Action(Console.WriteLine).Method;

			ReflectionHelloWorld reflection = new ReflectionHelloWorld();
			reflection.SayHelloWorld();

			DynamicMethodHelloWorld dynamicMethod = new DynamicMethodHelloWorld();
			dynamicMethod.SayHelloWorld();

			ReflectionEmitHelloWorld reflectionEmit = new ReflectionEmitHelloWorld();
			reflectionEmit.SayHelloWorld();

			ExpressionReflectionEmitHelloWorld expressionReflectionEmit = new ExpressionReflectionEmitHelloWorld();
			expressionReflectionEmit.SayHelloWorld();

			ExpressionHelloWorld expressions = new ExpressionHelloWorld();
			expressions.SayHelloWorld();

			ExpressionVisitorHelloWorld expressionVisitor = new ExpressionVisitorHelloWorld();
			expressionVisitor.SayHelloWorld();

			CSharpCodeDomHelloWorld csharpCodeDom = new CSharpCodeDomHelloWorld();
			csharpCodeDom.SayHelloWorld();

			CSharpProviderHelloWorld csharpCodeProvider = new CSharpProviderHelloWorld();
			csharpCodeProvider.SayHelloWorld();

			DynamicObjectHelloWorld dohw = new DynamicObjectHelloWorld();
			dohw.SayHelloWorld();

			IronPythonHelloWorld iphw = new IronPythonHelloWorld();
			iphw.SayHelloWorld();

			JScriptDotNetHelloWorld jsdnhw = new JScriptDotNetHelloWorld();
			jsdnhw.SayHelloWorld();

			JurassicJavaScriptHelloWorld jjshw = new JurassicJavaScriptHelloWorld();
			jjshw.SayHelloWorld();
		}
	}
}
